package com.ionehe.group.common.uaa.ex.application.converter;

import com.ionehe.group.common.uaa.ex.application.model.FunctionAddVO;
import com.ionehe.group.common.uaa.ex.application.model.FunctionDetailVO;
import com.ionehe.group.common.uaa.ex.application.model.FunctionUpdateVO;
import com.ionehe.group.common.uaa.ex.application.model.FunctionVO;
import com.ionehe.group.common.uaa.ex.dto.FunctionAddDTO;
import com.ionehe.group.common.uaa.ex.dto.FunctionDTO;
import com.ionehe.group.common.uaa.ex.dto.FunctionDetailDTO;
import com.ionehe.group.common.uaa.ex.dto.FunctionUpdateDTO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
import java.util.List;

/**
 * Copyright (c) 2020 ionehe.com
 * Date: 2020/11/25
 * Time: 10:29 下午
 *
 * @author 2020年 <a href="mailto:a@ionehe.com">秀</a>
 */
@Mapper(componentModel = "spring",imports = {LocalDateTime.class, Date.class, ZoneId.class})//交给spring管理
public interface FunctionVOConvert {
    FunctionVOConvert INSTANCE = Mappers.getMapper(FunctionVOConvert.class);

    FunctionDetailVO dto2vo(FunctionDetailDTO functionDetailDTO);

    FunctionVO dto2vo(FunctionDTO functionDTO);

    List<FunctionVO> dto2vo(List<FunctionDTO> functionDTOList);

    FunctionAddDTO vo2dto(FunctionAddVO functionAddVO);

    FunctionUpdateDTO vo2dto(FunctionUpdateVO functionUpdateVO);
}
